تاريخ النشر: 13 تشرين الثاني (نوفمبر) 2024، تاريخ التعديل الأخير: 20 أيار (مايو) 2025
فيديو الشرح | الويب | الإضافات | حالة Chrome | النيّة بالشراء |
---|---|---|---|---|
MDN | العرض | الهدف من التجربة |
يمكنك استخدام Translator API في Chrome لترجمة النصوص باستخدام نماذج الذكاء الاصطناعي المتوفرة في المتصفّح.
قد يقدّم موقعك الإلكتروني محتوى بعدّة لغات، ما يتيح لجمهور العالمي الوصول إليه. باستخدام Translator API، يمكن للمستخدمين المساهمة بلغتهم الأولى. على سبيل المثال، يمكن للمستخدمين المشاركة في محادثات الدعم باللغة الأولى التي يتحدثونها، ويمكن لموقعك الإلكتروني ترجمة هذه المحادثات إلى اللغة التي يستخدمها موظّفو الدعم، وذلك قبل أن تغادر محادثة الدعم جهاز المستخدم. ويؤدي ذلك إلى توفير تجربة سلسة وسريعة وشاملة لجميع المستخدمين.
كان ترجمة المحتوى على الويب يتطلّب عادةً استخدام خدمة سحابة حاسب. أولاً، يتم تحميل المحتوى المصدر إلى خادم يُجري الترجمة إلى لغة مستهدفة، ثم يتم تنزيل النص الناتج وإعادته إلى المستخدِم. من خلال تشغيل الترجمة على العميل، يمكنك توفير الوقت الذي تستغرقه مهتَمَات الخادم وتكلفة استضافة خدمة الترجمة.
البدء
تتوفّر Translator API في الإصدار 138 من Chrome الثابت. أولاً، عليك تنفيذ ميزة الاكتشاف لمعرفة ما إذا كان المتصفّح متوافقًا مع Translator API.
if ('Translator' in self) {
// The Translator API is supported.
}
على الرغم من أنّك تعرف دائمًا اللغة الهدف للترجمات، قد لا تعرف دائمًا اللغة المصدر. في هذه الحالات، يمكنك استخدام Language Detector API.
مراجعة متطلبات الأجهزة
لا تعمل واجهات برمجة التطبيقات Language Detector وTranslator API إلا على أجهزة الكمبيوتر المكتبي في Chrome.
تعمل واجهات برمجة التطبيقات Prompt API وSummarizer API وWriter API وRewriter API في Chrome عند استيفاء الشروط التالية:
- نظام التشغيل: Windows 10 أو 11 أو الإصدار 13 من نظام التشغيل macOS والإصدارات الأحدث (Ventura والإصدارات الأحدث) أو Linux لا تتوفّر واجهات برمجة التطبيقات التي توفّرها Gemini Nano لإصدارات Chrome على Android وiOS وChromeOS.
- مساحة التخزين: 22 غيغابايت على الأقل في وحدة التخزين التي تحتوي على ملفك الشخصي على Chrome
- GPU: يجب أن تكون ذاكرة الوصول العشوائي للفيديو (VRAM) أكبر من 4 غيغابايت.
- الشبكة: بيانات غير محدودة أو اتصال غير محدود
تُطبَّق هذه المتطلبات عليك في عملية التطوير وعلى المستخدمين الذين يعملون باستخدام الميزات التي تنشئها.
التحقّق من توفّر الأزواج اللغوية
تتم إدارة الترجمة باستخدام حِزم اللغات التي يتم تنزيلها عند الطلب. تشبه حِزمة اللغة قاموسًا للغة معيّنة.
sourceLanguage
: اللغة الحالية للنصtargetLanguage
: اللغة النهائية التي يجب ترجمة النص إليها.
استخدِم الرموز القصيرة للّغات وفق معيار BCP 47 كسلسلة. على سبيل المثال، 'es'
للغة الإسبانية أو 'fr'
للغة الفرنسية.
const translatorCapabilities = await Translator.availability({
sourceLanguage: 'es',
targetLanguage: 'fr',
});
// 'available'
تعرِض الدالة availability()
وعدًا بالقيم التالية:
"unavailable"
: لا يتيح التنفيذ ترجمة اللغات المحدّدة أو الكشف عنها."downloadable"
: يتيح التنفيذ ترجمة اللغات المحدّدة أو الكشف عنها، ولكن يجب تنزيلها لمتابعة الإجراء. قد يكون التنزيل هو نموذج المتصفّح."downloading"
: يتيح التنفيذ الترجمة أو رصد اللغة للغات المحدّدة. يُنهي المتصفّح عملية تنزيل جارية، وذلك كجزء من إنشاء العنصر المرتبط."available"
: يتيح التنفيذ الترجمة أو رصد اللغة للغات المحدّدة، كما أنّه سبق أن اكتمل تنزيل أي عمليات تنزيل مطلوبة.
يمكنك الاستماع إلى مستوى التقدّم في تنزيل النموذج باستخدام الحدث downloadprogress
:
const translator = await Translator.create({
sourceLanguage: 'es',
targetLanguage: 'fr',
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
إذا تعذّر التنزيل، سيتوقّف حدث downloadprogress
و
سيتم رفض الوعد ready
.
إنشاء المترجم وتشغيله
لإنشاء مترجم، استخدِم الدالة غير المتزامنة create()
. وتتطلّب هذه السمة مَعلمة خيارات تحتوي على حقلَين، أحدهما لـ "sourceLanguage
" والآخر لـ "targetLanguage
".
// Create a translator that translates from English to French.
const translator = await Translator.create({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
بعد توفُّر مترجم، اتصل بـ translate()
غير المتزامنة.
await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"
الترجمات التسلسلية
تتم معالجة الترجمات بالتسلسل. إذا أرسلت كميات كبيرة من النصوص لتمت ترجمتها، يتم حظر عمليات الترجمة اللاحقة إلى أن تكتمل عمليات الترجمة السابقة.
للحصول على أفضل استجابة لطلباتك، يمكنك تجميعها معًا وإضافة واجهة تحميل، مثل مؤشر تقدّم التحميل، للإشارة إلى أنّ عملية الترجمة لا تزال جارية.
عرض توضيحي
يمكنك الاطّلاع على واجهة برمجة التطبيقات Translator API، المستخدَمة مع واجهة برمجة التطبيقات Language Detector API، في مساحة اختبار واجهتَي برمجة التطبيقات Translator وLanguage Detector API.
الجهد المبذول لتوحيد المقاييس
نحن نعمل على توحيد Translator API لضمان تكاملها مع جميع المتصفحات.
تلقّى اقتراحنا لواجهة برمجة التطبيقات دعمًا من المنتدى وتم نقله إلى مجموعة منتدى Web Incubator في W3C لإجراء مزيد من المناقشة. طلب فريق Chrome ملاحظات من مجموعة الهندسة المعمارية التقنية في W3C وسأل Mozilla وWebKit عن مواقفهما بشأن المعايير.
يمكنك المشاركة في جهود وضع المعايير من خلال الانضمام إلى مجموعة منتدى Web Incubator.
مشاركة الملاحظات
يهمّنا معرفة ما تنشئه باستخدام واجهة برمجة التطبيقات Language Detector API. يمكنك مشاركة مواقعك الإلكترونية وتطبيقاتك على الويب معنا على X و YouTube و LinkedIn.
لإرسال ملاحظات حول عملية تنفيذ Chrome، يُرجى إرسال تقرير خطأ أو طلب ميزة.